import { userCheckAccount } from "@/api/user";
//给vee-validate提供校验规则函数
export default {
  //用户名校验
  account(value) {
    if (!value) return "请输入用户名";
    //规则：字母开头 6-20个字符
    if (!/^[a-zA-Z]\w{5,19}$/.test(value)) return "字母开头且6-20个字符";
    return true;
  },
  //用户名校验切唯一性
  async accountApi(value) {
    if (!value) return "请输入用户名";
    //规则：字母开头 6-20个字符
    if (!/^[a-zA-Z]\w{5,19}$/.test(value)) return "字母开头且6-20个字符";
    //去服务区校验
    const data = await userCheckAccount(value);
    if (data.result.valid) return "用户已存在";
    return true;
  },
  //密码的校验
  password(value) {
    if (!value) return "请输入密码";
    //规则：6-20个字符
    if (!/^\w{6,24}$/.test(value)) return "请输入6-20个字符";
    return true;
  },
  //确认密码的校验
  repassword(value, { form }) {
    if (!value) return "请输入密码";
    //规则：6-20个字符
    if (!/^\w{6,24}$/.test(value)) return "请输入6-20个字符";
    //form表单数据对象
    if(value !== form.password) return '密码不一致'
    return true;
  },
  //手机校验
  mobile(value) {
    if (!value) return "请输入手机号";
    //规则：6-20个字符
    if (!/^1[3-9]\d{9}$/.test(value)) return "手机号格式错误";
    return true;
  },
  //手机验证码
  code(value) {
    if (!value) return "请输入验证码";
    if (!/^\d{6}$/.test(value)) return "验证码是6个数字";
    return true;
  },
  isAgree(value) {
    if (!value) return "请勾选同意用户协议";
    return true;
  },
};
